/* File di inserimento e gestione contenuti nalla sezione "Creazione Lezione" */    


	var _debug = false ;
	var myArray_items = {}; /* struttura dati contenente gli item da inserire ed eliminare */
	var counter = 0;        /* aggiornare con l'ultimo valore univoco (id) salvato + 1 */
    var current_position = -1;
    
	
    
    /***************************************************************************************************************************/
    /***************************************************************************************************************************/

    //                   GESTIONE AGGIUNTA, MODIFICA E CANCELLAZIONE DEGLI ITEM NELLA TAB FONDAMENTALI

    /***************************************************************************************************************************/
    /***************************************************************************************************************************/
    
	//cancella un item al click sul bottone elimina
	function fmy_deleteItem_fondamentali( p_position ) {
		if ( _debug ) console.log( "function name: " + "fmy_deleteItem_fondamentali(p_position)" + "p_position: " + p_position );
		delete myArray_items[p_position];
		if ( _debug ) 
		{
			for (var elm in myArray_items) {
				console.log( "Value: "+elm+"\n");
			}
		}
		$("#itemAdded_"+ p_position).remove();
	}
    
    
    //modifica un item al click sul bottone modifica
	function fmy_modificaItem_fondamentali( p_position, p_name ) {
        current_position = p_position ;
	    $( ".item_button_inside" ).hide( "slow" );
        $( ".item_content_inside" ).slideDown( "slow" ) ;
        var value_toModify = $( "#itemAdded_" + p_position ).text();
        $( ".item_content_inside" ).find( "input#txt_" + p_name ).val( value_toModify );
        $( ".item_content_inside #aggiungi_" + p_name ).css( "display", "none" );
        $( ".item_content_inside #modifica_" + p_name ).css( "display", "block" );
    }
    
    //aggiorna i campi del coautore/requisiti/obiettivi/..
    function fmy_updateItem_fondamentali( p_name ) {
        var value_toModify = $( ".item_content_inside" ).find( "input#txt_" + p_name ).val();
        $( "#itemAdded_" + current_position ).find( ".name_item_added").text( value_toModify );
        $( ".item_content_inside" ).slideUp( "slow" ) ;
        $( ".item_content_inside #aggiungi_" + p_name ).css( "display", "block" );
        $( ".item_content_inside #modifica_" + p_name ).css( "display", "none" );
        $( ".item_button_inside" ).hide( "slow" );
        $( ".item_content_inside" ).find( "input#txt_" + p_name ).val('');
    }
	   
    
    
	//stampa un item aggiunto nel div items
	function fmy_printItem_fondamentali( p_textItem, p_name ) {
		if ( _debug ) console.log( "function name: " + "fmy_printItem_fondamentali ," + "p_textItem: " + p_textItem );
		myArray_items[counter] = p_textItem ;
        /*dettagli["+counter+"].descrizione*/
		var last_position = counter;
		if ( _debug ) console.log( "last_position nell'array: " + last_position );
        
        strToAppend =  "<div ";
        strToAppend += "class=\"item_added\" ";
        strToAppend += "id=\"itemAdded_"+ last_position;
        strToAppend += "\" >";
        /*
        strToAppend += "<span ";
        strToAppend += "class=\"name_item_added\" ";
        strToAppend += ">";
        strToAppend += myArray_items[last_position] ;
        strToAppend += "</span>";
        */
       
        // input nome elemento inserito
        strToAppend += "<input type=\"text\" ";
        strToAppend += "value=\""+ myArray_items[last_position] +"\" ";
        strToAppend += "class=\"name_item_added\" ";
        strToAppend += "name=\"dettagli["+counter+"].descrizione\" ";        
        strToAppend += "/> ";
       
        
         switch ( p_name ){     
            case "requisito":
                // input hidden per il back-end
                strToAppend += "<input type=\"hidden\" ";
                strToAppend += "value=\"1\" ";
                strToAppend += "name=\"dettagli["+counter+"].tipologia\" ";        
                strToAppend += "/> ";
            break;
            case "obiettivo":
                // input hidden per il back-end
                strToAppend += "<input type=\"hidden\" ";
                strToAppend += "value=\"2\" ";
                strToAppend += "name=\"dettagli["+counter+"].tipologia\" ";        
                strToAppend += "/> ";
            break;
            case "aspettativa":
                // input hidden per il back-end
                strToAppend += "<input type=\"hidden\" ";
                strToAppend += "value=\"3\" ";
                strToAppend += "name=\"dettagli["+counter+"].tipologia\" ";        
                strToAppend += "/> ";
            break;
            case "target":
                // input hidden per il back-end
                strToAppend += "<input type=\"hidden\" ";
                strToAppend += "value=\"4\" ";
                strToAppend += "name=\"dettagli["+counter+"].tipologia\" ";        
                strToAppend += "/> ";
            break;
        }
        
        // input hidden per il back-end
        strToAppend += "<input type=\"hidden\" ";
        strToAppend += "value=\"\" ";
        strToAppend += "name=\"dettagli["+counter+"].idRocca\" ";        
        strToAppend += "/> ";
       
        // input cancella
        strToAppend += "<input type=\"button\" ";
        strToAppend += "value=\"\" ";
        strToAppend += "class=\"btn_delete\" ";
        strToAppend += "id=\"delete_"+ last_position +"\" ";
        strToAppend += "onclick=\"fmy_deleteItem_fondamentali("+ last_position + ");\"/> ";
        // input ordinamento
        strToAppend += "<input type=\"button\" ";
        strToAppend += "value=\"\" ";
        strToAppend += "class=\"btn_ordina\" ";
        strToAppend += "id=\"ordina_"+ last_position +"\" ";
        strToAppend += "onclick=\"fmy_ordinaItem_fondamentali("+ last_position + ");\"/> ";
        // input modifica
        strToAppend += "<input type=\"button\" ";
        strToAppend += "value=\"\" ";
        strToAppend += "class=\"btn_modifica\" ";
        strToAppend += "id=\"modifica_"+ last_position +"\" ";
        strToAppend += "onclick=\"fmy_modificaItem_fondamentali("+ last_position + ",'"+ p_name + "');\"/> ";
        
        strToAppend += "</div>";
		
        $( ".items_toDisplay_" + p_name ).append( strToAppend );
        counter ++ ;
    
    }
	
	//aggiunge un obiettivo al click sul bottone aggiungi e gli assegna la funzione sort
	function fmy_addItem_fondamentali( p_name ) {
		if ( _debug ) console.log("function name: " + "fmy_addItem_fondamentali" );
		var my_txtItem = "";
		my_txtItem = $( "#txt_"+ p_name ).val();
		if ( _debug ) console.log( "my_txtItem: " + my_txtItem );
		//disegna il box se il campo ha del contenuto
        if ( my_txtItem.length > 0 )
			fmy_printItem_fondamentali( my_txtItem, p_name );
		
        //pulisce il campo dell'input una volta fatto l'add item
		$( "#txt_" + p_name ).val('');
        
        //sorting degli item
        $( ".items_toDisplay_" + p_name ).sortable();
        $( ".items_toDisplay_" + p_name ).disableSelection();
        
        
        console.log("getFieldNumber() : " + getFieldNumber());
        console.log("counter : " + counter);
        console.log("getLastKey() : " + getLastKey());
        
	}



   // conta il numero di elementi inseriti nella sezione "Fondamentali" 
   function getFieldNumber() {  

        var sum = 0;
        
        sum += $( ".items_toDisplay_requisito" ).find(".name_item_added").length;
        sum += $( ".items_toDisplay_obiettivo" ).find(".name_item_added").length;
        sum += $( ".items_toDisplay_aspettativa" ).find(".name_item_added").length;
        sum += $( ".items_toDisplay_target" ).find(".name_item_added").length;
        
        return sum;
   }


   // restituisce l'ultimo elemento inserito nella sezione "Fondamentali" 
   function getLastKey() {  

        var lastKey = 0;
        $.each(myArray_items, function(key, value) {
              lastKey = key; 
        });

        //console.log("lastKey: "+lastKey);
        return lastKey;
   }




    
    
 
        
    /***************************************************************************************************************************/
    /***************************************************************************************************************************/

    //                   DOCUMENT READY

    /***************************************************************************************************************************/
    /***************************************************************************************************************************/
    
    
    $(document).ready(function(){
        
       
 
    });